/*
 * Grupo: Dayana Souza Silva, Filipe Pires Guimaraes, Rafael Vieira Falcao
 * Mat.: 11211111, 113110873, 113111111
 */

package bolao.projeto.lp2;

/**
 * Aposta do bolao
 * @author filipepires
 * @version 1.0
 */
public class Aposta {
	private int golsTime1, golsTime2, vencedor;

	/**
	 * Construtor de uma aposta
	 * @param golsTime1 Quantidade de gols a apostar no time 1
	 * @param golsTime2 Quantidade de gols a apostar no time 2
	 * @throws Exception
	 */
	public Aposta(int golsTime1, int golsTime2) throws Exception {
		setGolsTime1(golsTime1);
		setGolsTime2(golsTime2);
		vencedor = verificaVencedor();
	}
	
	private int verificaVencedor() {
		return (golsTime1 > golsTime2) ? 1 : ((golsTime1 < golsTime2)? -1 : 0);
	}
	
	/**
	 * Get do vencedor do jogo
	 * @return Retorna <b>1</b> para o time1, <b>2</b> para o time 2 
	 * e <b>0</b> para empate
	 */
	public int getVencedor() {
		return vencedor;
	}
	
	/**
	 * Get dos gols do time 1
	 * @return Retorna a quantidade de gols do time 1
	 */
	public int getGolsTime1() {
		return golsTime1;
	}
	
	/**
	 * Seta a quantide de gols do time 1
	 * @param golsTime1 Quantidade de gols do time 1
	 * @throws Exception Caso a quantidade de gols seja menor que zero
	 */
	public void setGolsTime1(int golsTime1) throws Exception {
		if(golsTime1 < 0) throw new Exception("Numero de gols do time 1 invalidos!");
		this.golsTime1 = golsTime1;
	}
	
	/**
	 * Get dos gols do time 2
	 * @return Retorna a quantidade de gols do time 2
	 */
	public int getGolsTime2() {
		return golsTime2;
	}
	
	/**
	 * Seta a quantide de gols do time 2
	 * @param golsTime2 Quantidade de gols do time 2
	 * @throws Exception Caso a quantidade de gols seja menor que zero
	 */
	public void setGolsTime2(int golsTime2) throws Exception {
		if(golsTime2 < 0) throw new Exception("Numero de gols do time 2 invalidos!");
		this.golsTime2 = golsTime2;
	}
	
}
